May 13, 2008

FreeRadius

Heheheh pada pagi dan siang hari ini saya pengin bercerita bagaimana menginstallasi free radius pada Fedora Core 8 yang telah terintegrasi dengan MySQL dan ChilliSpot.
Saya gunakan Fedora Core 8 karena beberapa alasan, yang diataranya adalah Fedora Core 8 sudah memiliki user interface yang bagus dan memiliki management control sistem yang bagus terutama untuk firewall dan SELinux. Tapi yang tidak kalah penting adalah Fedora Core 8 cukup stabil bila dibandingkan dengan distro-distro linux lain seperti ubuntu dsb.
Tidak usah banyak bicara mari kita mulai melakukan installasi (heheheh aku dulu di kampus punya gelar MSI - master of installasi)
1. Install Fedora Core 8 dengan menambah paket MySQL FreeRadius dan FreeRadius MySQL. Tapi mungkin pada installasi pertama anda tidak akan menemukan free radius, jadi installasi saja base system dan GNome nanti anda tinggal update system dan install MySQL dan free radius.
2. Rubah password user root pada MySQL
#mysql -uroot
mysql>use mysql;
mysql>update user set password=password('radius') where user='root';
mysql>flush privileges;
mysql>exit
3. Buatlah database dengan nama 'radius' tanpa tanda petik, dan import free radius table dari file /usr/share/doc/freeradius-1.1.7/example/mysql.sql. Terseerah anda ingin menggunakan apa, tapi kalau saya lebih senang make phpMyAdmin.
4. Edit file /etc/raddb/radius.conf sehingga akan didapat baris2 berikut
----------------------awal config----------------------
$INCLUDE ${confdir}/sql.conf
# Never reset
sqlcounter noresetcounter {
counter-name = Max-All-Session-Time
check-name = Max-All-Session
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName='%{%k}'"

}

sqlcounter octetslimit {
counter-name = Max-All-MB
check-name = Max-All-MB
reply-name = Chillispot-Max-Total-Octets
key = User-Name
reset = never
query = "SELECT SUM(acctinputoctets+acctoutputoctets) from radacct WHERE UserName='%{%k}'"
sqlmod-inst = sql
}
...........................
authorize {
preprocess
sql
noresetcounter
octetslimit
}
....................
accounting {
unix
radutmp
sql
}
----------------------akhir config---------------------
5. Setting koneksi free radius ke mysql dengan mengedi file /etc/raddb/sql.conf
----------------------awal config----------------------
sql {
driver = "rlm_sql_mysql"

# Connect info
server = "localhost"
login = "root"
password = "radius"

# Database table configuration
radius_db = "radius"
.............
}
----------------------akhir config--------------------
6. Setting client dengan mengedit file /etc/raddb/client.conf
----------------------awal config---------------------
..........
client 127.0.0.1 {
secret = testing123
shortname = localnetwork
}

client 192.168.100.0/24 {
secret = testing123
shortname = lan-network
}
............
----------------------akhir config---------------------
7. Download dictionary chillispot di http://dev.coova.org/svn/coova-chilli/doc/dictionary.chillispot dan simpan di directory /usr/share/freeradius/dictionary, dan rubah file /etc/raddb/dictionary
----------------------awal config----------------------
....................
$INCLUDE /usr/local/share/freeradius/dictionary.chillispot
....................
----------------------akhir config---------------------
8. Masukan user untuk free radius, sekali lagi saya lebih senang menggunakan phpMyAdmin
----------------------awal query-----------------------
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.255');
insert into radgroupcheck (groupname, attribute, op, value) values ("user", "Auth-Type", ":=", "Local");
加入使用者
insert into radcheck (username,attribute,op,value) values ('hendrawan','User-Password','==','hendrawan-ganteng');
----------------------akhir query----------------------
9. Start free radius dalam mode debug
#/usr/sbin/radiusd -X
10. Gunakan aplikasi radtest atau radius test untuk menguji coba installasi.
Kalau langkah diatas di ikutin dan gak ada yang keliru harusnya kamu sekarang dah punya radius server yang terintegarasi dengann MySQL dan ChilliSpot
Powered by Blogger.

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search